Arduino তে সাধারণত হার্ডওয়্যার সিরিয়াল পোর্ট (যেমন: পিন 0 এবং 1) ব্যবহার করে সিরিয়াল কমিউনিকেশন করা হয়। কিন্তু কিছু ক্ষেত্রে একাধিক সিরিয়াল ডিভাইসের সাথে যোগাযোগ করার প্রয়োজন হতে পারে। এ ক্ষেত্রে SoftwareSerial Library ব্যবহার করা হয় যা Arduino-কে একাধিক সিরিয়াল কমিউনিকেশন পোর্ট তৈরি করতে সাহায্য করে।
SoftwareSerial Library Arduino তে সফটওয়্যারের মাধ্যমে অতিরিক্ত সিরিয়াল পোর্ট তৈরি করে। এটি ব্যবহার করে নির্দিষ্ট ডিজিটাল পিনগুলোর মাধ্যমে সিরিয়াল ডেটা আদান-প্রদান করা যায়।
Arduino-তে SoftwareSerial ব্যবহার করে অতিরিক্ত সিরিয়াল পোর্ট তৈরি করার জন্য লাইব্রেরিটি প্রোগ্রামে অন্তর্ভুক্ত করতে হবে এবং দুটি ডিজিটাল পিন নির্দিষ্ট করতে হবে যেখানে সিরিয়াল ডেটা পাঠানো এবং গ্রহণ করা হবে।
কোড উদাহরণ:
#include <SoftwareSerial.h>
// SoftwareSerial পোর্ট তৈরি করা (RX, TX)
SoftwareSerial mySerial(10, 11); // পিন 10 -> RX, পিন 11 -> TX
void setup() {
// হার্ডওয়্যার সিরিয়াল শুরু করা
Serial.begin(9600);
// SoftwareSerial শুরু করা
mySerial.begin(9600);
Serial.println("SoftwareSerial Ready");
}
void loop() {
// SoftwareSerial থেকে ডেটা পড়া
if (mySerial.available()) {
char data = mySerial.read(); // ডেটা পড়া
Serial.print("Received: ");
Serial.println(data);
}
// Hardware Serial থেকে ডেটা পড়ে SoftwareSerial এ পাঠানো
if (Serial.available()) {
char data = Serial.read();
mySerial.print("Echo: ");
mySerial.println(data);
}
}
begin(speed)
: নির্দিষ্ট baud rate এ SoftwareSerial শুরু করে।available()
: কতগুলো ডেটা পড়ার জন্য উপলব্ধ আছে তা জানায়।read()
: ইনপুট থেকে একটি বাইট পড়ে।write(data)
: সিরিয়াল আউটপুটে ডেটা পাঠায়।print()
এবং println()
: সিরিয়াল আউটপুটে ডেটা প্রিন্ট করে।Bluetooth Module (HC-05) বা GPS Module-এর মতো একাধিক ডিভাইসের সাথে সিরিয়াল যোগাযোগের ক্ষেত্রে SoftwareSerial Library ব্যবহার করা হয়। উদাহরণস্বরূপ, Bluetooth Module-এর সাথে Arduino-কে সংযুক্ত করে ডেটা আদান-প্রদান করার জন্য SoftwareSerial Library ব্যবহার করা যেতে পারে।
HC-05 Bluetooth Module উদাহরণ:
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(10, 11); // RX = 10, TX = 11
void setup() {
Serial.begin(9600); // হার্ডওয়্যার সিরিয়াল শুরু
bluetooth.begin(9600); // Bluetooth সিরিয়াল শুরু
Serial.println("Bluetooth Ready");
}
void loop() {
// Bluetooth থেকে ডেটা পড়া
if (bluetooth.available()) {
char data = bluetooth.read();
Serial.print("Bluetooth Received: ");
Serial.println(data);
}
// Serial Monitor থেকে ডেটা পাঠানো
if (Serial.available()) {
char data = Serial.read();
bluetooth.write(data);
}
}
Serial.print()
ফাংশন ব্যবহার করে ডিবাগ করুন।SoftwareSerial Library Arduino প্রোজেক্টে একাধিক সিরিয়াল ডিভাইসের সাথে সংযোগ স্থাপন করতে একটি কার্যকর সমাধান। এটি সহজে ডিভাইসের মধ্যে ডেটা আদান-প্রদান করতে এবং Arduino প্রোজেক্টে নমনীয়তা আনতে সাহায্য করে।
common.read_more